#include "bspLed.h"

void bspLedInit(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	bspLedOn(LED0);
	bspLedOn(LED1);
}

void bspLedOn(LedNum num)
{
	if(num==LED0)
	{
		GPIO_ResetBits(GPIOB,GPIO_Pin_12);		
	}
	else if(num==LED1)
	{
		GPIO_ResetBits(GPIOB,GPIO_Pin_13);
	}
}

void bspLedOff(LedNum num)
{
	if(num==LED0)
	{
		GPIO_SetBits(GPIOB,GPIO_Pin_12);		
	}
	else if(num==LED1)
	{
		GPIO_SetBits(GPIOB,GPIO_Pin_13);
	}	
}

void bspLedToggle(LedNum num)
{
	if(num==LED0)
	{
		GPIO_WriteBit(GPIOB,GPIO_Pin_12,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_12)));
	}
	else if(num==LED1)
	{
		GPIO_WriteBit(GPIOB,GPIO_Pin_13,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_13)));
	}		
}
